Information processing apparatus, method for controlling information processing apparatus, image forming apparatus, method for controlling image forming apparatus, and information processing system

ABSTRACT

An information processing apparatus is configured in the following manner. When a client is connected to a server, the client transmits all of setting information that the client handles as a synchronization target to the server. The server returns an error response to prohibit synchronization in response to transmission of a setting item that the server does not handle as the synchronization target among the setting information transmitted from the client. After that, the client apparatus does not notify the server of a content of an update with respect to the setting information of the setting item to which the error response is returned when the client is connected to the server.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a Continuation of U.S. patent application Ser. No.15/227,744, filed Aug. 3, 2016, which claims the benefit of JapanesePatent Application No. 2015-157602, filed Aug. 7, 2015, and JapanesePatent Application No. 2016-119846, filed Jun. 16, 2016, all of whichare hereby incorporated by reference herein in their entirety.

BACKGROUND OF THE INVENTION Field of the Invention

The present invention relates to an information processing system inwhich setting information is shared between or among a plurality ofinformation processing apparatuses.

Description of the Related Art

Conventionally, there have been known sharing systems in whichinformation is shared between a server and a client. Japanese PatentApplication Laid-Open No. 2004-94294 discusses an information sharingsystem in which a content of setting information held by the client istransmitted from the client to the server.

Further, Japanese Patent Application Laid-Open No. 2012-123573 discussesan information sharing system in which the setting information of theclient is shared between the server and the client, and the clientmanages setting information handled as a synchronization target andsetting information not handled as the synchronization target.

The above-described conventional technique is not constructedconsidering that the server side sets the setting information handled asthe synchronization target and the setting information not handled asthe synchronization target. Therefore, an image forming apparatusaccording to the above-described conventional technique transmits eventhe setting information that the server does not handle as the target ofthe synchronization, to the server when a predetermined synchronizationtiming arrives. Therefore, a load of unnecessary data processing andcommunication is undesirably placed.

SUMMARY OF THE INVENTION

According to an aspect of the present invention, an informationprocessing apparatus includes at least one processor and at least onememory coupled to the processor. The processor and the memory act as amanagement unit configured to manage setting information regarding asetting of an image forming apparatus, a reception unit configured toreceive the setting information held by the image forming apparatus fromthe image forming apparatus when the image forming apparatus isconnected to the information processing apparatus and receiveinformation indicating a content of an update made to the settinginformation from the image forming apparatus when the settinginformation held by the image forming apparatus is updated after theimage forming apparatus is connected to the information processingapparatus, and a transmission unit configured to transmit a responseindicating whether to transmit the information indicating the content ofthe update from the image forming apparatus to the informationprocessing apparatus, to the image forming apparatus for each settingitem of the setting information as a response to the reception of thesetting information when the image forming apparatus is connected to theinformation processing apparatus.

According to another aspect of the present invention, an informationprocessing apparatus includes at least one processor and at least onememory coupled to the processor. The processor and the memory act as amanagement unit configured to manage setting information regarding asetting of an image forming apparatus, a reception unit configured toreceive information indicating a content of an update made to thesetting information from the image forming apparatus when the settinginformation held by the image forming apparatus is updated after theimage forming apparatus is connected to the information processingapparatus, and a transmission unit configured to transmit informationfor identifying a setting item with respect to which the image formingapparatus transmits the information indicating the content of the updateto the information processing apparatus, to the image forming apparatuswhen the image forming apparatus is connected to the informationprocessing apparatus.

According to another aspect of the present invention, an image formingapparatus includes at least one processor and at least one memorycoupled to the processor. The processor and the memory act as a holdingunit configured to hold setting information regarding a setting of theimage forming apparatus, a transmission unit configured to transmit thesetting information held in the holding unit to an informationprocessing apparatus when the image forming apparatus is connected tothe information processing apparatus and transmit information indicatinga content of an update made to the setting information to theinformation processing apparatus when the setting information held inthe holding unit is updated after the image forming apparatus isconnected to the information processing apparatus, a reception unitconfigured to receive a response to the transmission of the settinginformation when the image forming apparatus is connected to theinformation processing apparatus from the information processingapparatus for each setting item of the setting information, and acontrol unit configured to control the transmission unit so as not totransmit the information indicating the content of the update to theinformation processing apparatus with respect to the setting informationof the setting item for which a predetermined response is received asthe response.

Further features of the present invention will become apparent from thefollowing description of exemplary embodiments with reference to theattached drawings.

BRIEF DESCRIPTION OF THE DRAWINGS Brief Description of Drawings

FIG. 1 illustrates a system configuration indicating an entire systemaccording to a first exemplary embodiment.

FIG. 2 is a block diagram illustrating respective configurations of amultifunction peripheral and a server according to the first exemplaryembodiment.

FIG. 3 is a block diagram illustrating respective softwareconfigurations of the multifunction peripheral and the server accordingto the first exemplary embodiment.

FIG. 4 is a block diagram illustrating a structure of data managed bythe server according to the first exemplary embodiment.

FIG. 5 is a flowchart illustrating processing in which the multifunctionperipheral determines a setting item to be synchronized according to thefirst exemplary embodiment.

FIG. 6 is a flowchart illustrating initial connection processingperformed by the multifunction peripheral according to the firstexemplary embodiment.

FIGS. 7A and 7B are flowcharts illustrating synchronization processingat the time of an initial connection according to the first exemplaryembodiment.

FIG. 8 is a flowchart illustrating processing in which the server setsthe setting item to be handled as a synchronization target according tothe first exemplary embodiment.

FIGS. 9A and 9B each illustrate an example of a notification displayedon a display unit of the server according to the first exemplaryembodiment.

FIG. 10 is a flowchart illustrating processing for endingsynchronization that is performed by the multifunction peripheralaccording to a second exemplary embodiment.

FIGS. 11A and 11B are flowcharts illustrating synchronization endingprocessing in the multifunction peripheral according to the secondexemplary embodiment.

FIG. 12 is a flowchart illustrating initial connection processingperformed by the multifunction peripheral according to a third exemplaryembodiment.

FIGS. 13A and 13B are flowcharts illustrating synchronization processingat the time of the initial connection for shared data in themultifunction peripheral according to the third exemplary embodiment.

FIGS. 14A and 14B are flowcharts illustrating initial connectionprocessing in the multifunction peripheral according to a fourthexemplary embodiment.

DESCRIPTION OF THE EMBODIMENTS

In the following description, exemplary embodiments for embodying thepresent invention will be described with reference to the drawings. Theexemplary embodiments will be described with use of a multifunctionperipheral as one example of an image forming apparatus. However, theexemplary embodiments that will be described below do not limit thepresent invention defined according to the claims, and further, not allof combinations of features that will be described in the exemplaryembodiments are necessarily essential to a solution of the invention.

In an information sharing system (an information processing system)according to a first exemplary embodiment of the present invention,setting information is shared between a server and a client. The settinginformation in the present exemplary embodiment includes configurationinformation, device setting information, user data, user devicesettings, simple user settings, and a user address book. Details of eachinformation will be described in detail below with reference to tables 2to 7.

The information sharing system according to the present exemplaryembodiment causes the server and the client to share the settinginformation held by the server and the setting information held by theclient therebetween every time a predetermined timing arrives. In thismanner, when the setting information held by one of the server and theclient is changed as time passes, the information sharing systemaccording to the present exemplary embodiment allows the changed settinginformation to be shared with the other side. Hereinafter, processingfor sharing information between the server and the client will bereferred to as synchronization processing.

Further, in the information sharing system according to the presentexemplary embodiment, the setting information is shared between or amonga plurality of clients connected to the server. The server shares acontent of the setting information with a first client, and also sharesthe information with a second client. In this manner, the first clientand the second client share common setting information.

In the information sharing system according to the present exemplaryembodiment, when the client is connected to the server for the firsttime, the client transmits all setting information that the clienthandles as synchronization targets to the server. The server returns anerror response in response to the transmission of a setting item whichthe server does not handle as the synchronization target of the settinginformation transmitted from the client. In the present exemplaryembodiment, even when the setting item is updated in the client, theerror response serves as a notification which prohibits the client fromnotifying the server of a content of the update with respect to thesetting item as to which the error response has been returned. In thefollowing description, a term “connect” might mean to enable a pluralityof apparatuses to communicate each other electronically or might mean towire the plurality of apparatuses physically via one or more networklines. Enabling a plurality of apparatus to communicate each otherelectronically includes, for example, enabling a server and a client toperform synchronization communication by sending a request from a clientto a server to start synchronization processing of setting items inaccordance with a user operation on a client.

After that, the client apparatus does not notify the server of thecontent of the update with respect to the setting information of thesetting item as to which the error response has been returned at thetime of connection to the server for the first time. On the other hand,with respect to the setting information of the setting item as to whicha normal response has been returned at the time of the connection to theserver for the first time, in a case where the setting information ofthe setting item is updated after the connection to the server, theclient apparatus notifies the server of the content of the update.

Thus, the client is prevented from notifying the content of the updateto the server when the setting item is updated with respect to thesetting information regarding the setting item that the server does nothandle as the synchronization target. Therefore, a load of dataprocessing and communication on the system can be reduced during thesynchronization processing.

In the present exemplary embodiment, the server is an informationprocessing apparatus, such as a personal computer (PC). The client canbe the image forming apparatus, such as the multifunction peripheral. Inthe following description, the present exemplary embodiment will bedescribed based on the example in which the client is the multifunctionperipheral.

A configuration of the information sharing system according to thepresent exemplary embodiment will be described with reference to FIG. 1.A multifunction peripheral 110 and a server 120 are connected to anetwork 100.

The multifunction peripheral 110 is an apparatus that realizes aplurality of functions, such as a copy function and a facsimile (FAX)function, and stores therein setting information to be used to performthese functions. When login of a user is received, the multifunctionperipheral 110 according to the present exemplary embodiment can usesettings for the logging-in user.

The server 120 centrally manages user setting information of themultifunction peripheral 110 and a multifunction peripheral 111. Thismanagement allows the user to use the same user settings regardless of amultifunction peripheral which the user logs in to.

FIG. 2 is a block diagram illustrating configurations of themultifunction peripheral 110 and the server 120 according to the presentexemplary embodiment. First, the configuration of the multifunctionperipheral 110 will be described.

A controller unit 200 includes a central processing unit (CPU) 201. TheCPU 201 activates an operating system (OS) with use of a boot programstored in a read only memory (ROM) 202. The CPU 201 executes anapplication program stored in a hard disk drive (HDD) 204 on this OS,and performs various kinds of processing by this execution.

A random access memory (RAM) 203 is used as a work area of this CPU 201.Further, the RAM 203 provides an image memory area for temporarilystoring image data in addition to providing the work area.

The HDD 204 stores the above-described application program and imagedata, and various types of setting information. The HDD 204 holds thesetting information regarding settings of the multifunction peripheral110. A method for managing the setting information in the multifunctionperipheral 110 will be described below.

An operation unit interface (I/F) 206, a device I/F 208, a network I/F205, and an image processing unit 207 are connected to the CPU 201 via asystem bus 209, in addition to the ROM 202 and the RAM 203.

The operation unit I/F 206 is an interface to an operation unit 210including a touch panel, and outputs image data that is displayed on theoperation unit 210 to the operation unit 210. Further, the operationunit I/F 206 transfers information input by the user via the operationunit 210 to the CPU 201.

A scanner 211 and a printer 212 are connected to the device I/F 208. Thedevice I/F 208 carries out a synchronous/asynchronous conversion of theimage data. The network I/F 205 is connected to the network 100, andinputs and outputs information between the multifunction peripheral 100and each device in the network 100 via the network 100. The imageprocessing unit 207 performs processing such as processing of an imageinput from the scanner 211, processing of an image to be output to theprinter 212, an image rotation, an image compression, a resolutionconversion, a color space conversion, and a tone conversion.

A time measurement unit 214 is connected to a time measurement unit I/F213. The time measurement unit 214 measures the time. For example, areal time clock (RTC) can be used as the time measurement unit 214.

The multifunction peripheral 110 includes the controller unit 200, theoperation unit 210, the scanner 211, and the printer 212. The operationunit 210 is connected to the controller unit 200, and the scanner 211,which is an image input device, and the printer 212, which is an imageoutput device, are also connected to the controller unit 200.

Next, the configuration of the server 120 will be described. The server120 includes a controller unit 220, an operation unit 229, and a displayunit 230.

The controller unit 220 includes a CPU 221. The CPU 221 activates an OSwith use of a boot program stored in a ROM 222.

The CPU 221 executes an application program stored in an HDD 224 on thisOS, and performs various kinds of processing by such execution. A RAM223 is used as a work area of this CPU 221.

The HDD 224 stores the above-described application program, virtualdevice settings indicating the setting information of the multifunctionperipheral 110, and the like. Details of a method for managing thevirtual device settings will be described below.

An operation unit I/F 225, a display unit I/F 226, and a network I/F 227are connected to the CPU 221 via a system bus 228 in addition to the ROM222 and the RAM 223. The operation unit I/F 225 is an interface to theoperation unit 229 including a mouse, a keyboard, a touch panel, or thelike, and transfers information input by a user via the operation unit229 to the CPU 221.

The display unit I/F 226 outputs image data that is displayed on thedisplay unit 230 including a display, to the display unit 230. Further,the network I/F 227 is connected to the network 100, and inputs andoutputs information between the server 120 and each device in thenetwork 100 via the network 100.

A time measurement unit 232 is connected to a time measurement unit I/F231. The time measurement unit 232 measures the time. For example, theRTC can be used as the time measurement unit 232.

Next, one example of software configurations according to the presentexemplary embodiment will be described with reference to FIG. 3. First,a configuration of multifunction peripheral firmware 300 provided in themultifunction peripheral 110 will be described.

A control unit 301 controls a timing of synchronizing the settinginformation between the multifunction peripheral 110 and the server 120,and a content to be synchronized. The control unit 301 performs controlon transmitting all setting information that the multifunctionperipheral 110 manages as the synchronization targets to the server 120when the multifunction peripheral 110 is connected to the server 120 forthe first time, as will be described below with reference to FIG. 5.Further, the control unit 301 controls execution of updatesynchronization (first synchronization processing), in which the server120 is notified of a content of an update made to the settinginformation in the multifunction peripheral 110 after the multifunctionperipheral 110 is connected to the server 120.

In this manner, when the multifunction peripheral 110 is connected tothe server 120, the multifunction peripheral 110 transmits the settinginformation held in the HDD 204 to the server 120. Further, when thesetting information held in the HDD 204 is updated after themultifunction peripheral 110 is connected to the server 120, themultifunction peripheral 110 transmits information indicating thecontent of the update made to this setting information to the server120.

In the present exemplary embodiment, the content of the update that theserver 120 is notified of from the multifunction peripheral 110 is acurrent content of the setting item in which a comparison is made and adifference exists between the data recorded in the server 120 when themultifunction peripheral 110 has notified the server 120 last time, andthe data currently held by the multifunction peripheral 110. In thismanner, the multifunction peripheral 110 compares first settinginformation previously shared with the server 120 and second settinginformation currently held by the multifunction peripheral 110, andtransmits the setting information of the setting item in which there isthe difference, to the server 120 as the content of the update.

Further, the control unit 301 controls execution of acquisitionsynchronization (second synchronization processing). In the secondsynchronization processing, a content of an update made to the settinginformation in the server 120 is acquired and the acquired content isreflected in the multifunction peripheral 110. In the present exemplaryembodiment, the content of the update that the multifunction peripheral110 is notified of from the server 120 is a current content of thesetting item in which a comparison is made and a difference existsbetween the data recorded in the multifunction peripheral 110 when theserver 120 has notified the multifunction peripheral 110 last time, andthe data currently held by the server 120.

The control unit 301 determines the timing at which the settinginformation should be synchronized between the server 120 and themultifunction peripheral 110. Further, the control unit 301 determineswhether the acquisition synchronization or the update synchronization iscarried out. The control unit 301 confirms with a synchronizationmanagement unit 306 described below whether the setting item determinedto be synchronized is the synchronization target, and makes anotification to a synchronization control unit 308 if the setting itemis the synchronization target.

The control unit 301 calls up the synchronization control unit 308 everytime a predetermined time period has elapsed, at a timing when asynchronization request is received, and at a timing when a deviceoperation occurs (when the user logs in/out, when the multifunctionperipheral 110 is started up, when the multifunction peripheral 110transitions to a sleep mode, when the multifunction peripheral 110 wakesup from the sleep mode, and the like). For example, the control unit 301performs the following control. The control unit 301 requests aconfiguration information management unit 302 to update theconfiguration information when the multifunction peripheral 110 isstarted up, and requests the synchronization control unit 308 tosynchronize the configuration information after that. Then, the controlunit 301 regularly requests the synchronization control unit 308 tosynchronize the content of the update made to the data after themultifunction peripheral 110 is started up.

Further, the control unit 301 controls a start of the synchronizationand an end of the synchronization between the multifunction peripheral110 and the server 120. The control unit 301 starts the synchronizationand ends the synchronization upon, for example, receiving an instructionfrom a not-illustrated operation unit. If an instruction to start thesynchronization with the multifunction peripheral 110 is received in anout of synchronization state with the server 120, the control unit 301performs processing for starting the synchronization. If an instructionto end the synchronization with the multifunction peripheral 110 isreceived in a synchronization state with the server 120, the controlunit 301 performs processing for ending the synchronization.

The configuration information management unit 302 manages theconfiguration information of the multifunction peripheral 110. Theconfiguration information management unit 302 stores the configurationinformation acquired from the multifunction peripheral 110 in aconfiguration information holding unit 303. The acquired configurationinformation includes a model code for identifying a model, a version ofthe firmware 300, an accessory configuration, and a software license.The configuration information management unit 302 collects newinformation when the information included in the configurationinformation is updated. Then, the configuration information managementunit 302 instructs the configuration information holding unit 303 tostore the collected configuration information. This configurationinformation is information structured in a system similar toconfiguration information stored in a configuration information database(DB) 412, which will be described below.

The configuration information holding unit 303 receives the instructionfrom the configuration information management unit 302 and stores theconfiguration information in the RAM 203 or the HDD 204, thereby holdingthe configuration information. The configuration information holdingunit 303 receives the instruction from the configuration informationmanagement unit 302, and updates the configuration information and readsout the configuration information.

A setting management unit 304 manages acquisition and an update of thesetting information other than the configuration information to be usedwithin the multifunction peripheral 110. When a request to acquire thesetting information is received, the setting management unit 304acquires the corresponding setting information from a setting holdingunit 305, and returns the acquired setting information. When a requestto change the setting information is received, the setting managementunit 304 updates the corresponding setting information in the settingholding unit 305, and notifies the control unit 301 of the occurrence ofthe update to the setting information and the content of the updatedsetting information.

The setting holding unit 305 is a unit that holds the settinginformation other than the configuration information to be used in themultifunction peripheral 110 in the HDD 204, which is a storage unit.The multifunction peripheral 110 reads out the setting information heldby the setting holding unit 305 via the setting management unit 304, andswitches a behavior of an operation based on this read settinginformation. Examples of data of various items included in the settinginformation will be described below with reference to the tables.

In this manner, the configuration information management unit 302 andthe setting management unit 304 manage the setting information(including the configuration information) regarding the settings of themultifunction peripheral 110.

The synchronization management unit 306 manages the setting item to besynchronized between the multifunction peripheral 110 and the server120. The synchronization management unit 306 manages the setting itemset as the target to be synchronized of the setting information managedby the setting management unit 304 in the multifunction peripheral 110as synchronization target information. This synchronization targetinformation is permission information indicating the setting item of thesetting information that the multifunction peripheral 110 is permittedto share with the server 120. In other words, the synchronization targetinformation is information indicating the setting item of the settinginformation that the multifunction peripheral 110 handles as thesynchronization target with the server 120. The setting item that themultifunction peripheral 110 handles as the synchronization target withthe server 120 varies depending on the model of the multifunctionperipheral 110, the version of the firmware 300 of the multifunctionperipheral 110, and the like. For example, the multifunction peripheral110 can handle the device settings and the user data as thesynchronization targets. Further, the multifunction peripheral 110 canhandle the address book information as the synchronization target inaddition to the device settings and the user data.

The synchronization target information is stored in the HDD 204. Whenthe multifunction peripheral 110 starts the synchronization with theserver 120, the synchronization management unit 306 acquires the settingitem included in the setting information held by the multifunctionperipheral 110 and generates the synchronization target information.Further, when a request to change the synchronization target data isreceived after the synchronization of the data is started, thesynchronization management unit 306 updates the synchronization targetinformation according to a received content of the change. Processingfor updating the synchronization target information will be described indetail with reference to FIG. 5.

An item management unit 307 manages the setting item of the settinginformation held by the multifunction peripheral 110. When the data issynchronized between the multifunction peripheral 110 and the server120, the synchronization processing is performed for each setting itemmanaged by the item management unit 307.

The synchronization control unit 308 processes the synchronizationrequest received from the control unit 301. The synchronization controlunit 308 processes the received synchronization request for each settingitem. When the update synchronization is received, the synchronizationcontrol unit 308 determines the data and the setting item to besynchronized, and requests the synchronization communication unit 309 tocarry out communication for the update synchronization. Then, uponreceiving a result of the communication from the synchronizationcommunication unit 309, the synchronization control unit 308 notifies itto the control unit 301 as a result of the synchronization. When theacquisition synchronization is received, the synchronization controlunit 308 acquires a last update time of the setting item to besynchronized, and requests the synchronization communication unit 309 tocarry out communication for the update synchronization. Then, uponreceiving a result of the communication from the synchronizationcommunication unit 309, the synchronization control unit 308 notifiesthe setting management unit 304 of the content of the update to reflectthe acquired content. Then, upon receiving a result of the update madeto the data by the setting management unit 304, the synchronizationcontrol unit 308 notifies it to the control unit 301 as a result of thesynchronization.

The synchronization communication unit 309 carries out communications ofinformation for the data synchronization between the multifunctionperipheral 110 and the server 120. The synchronization communicationunit 309 receives the request for the synchronization communication fromthe synchronization control unit 308. When the acquisitionsynchronization is received, the synchronization communication unit 309transmits a request for the content of the update made after the lastupdate time, to the server 120, notifying the server 120 of the lastupdate time of the data of the setting item to be synchronized. Then,the synchronization communication unit 309 receives a response from theserver 120, and notifies the synchronization control unit 308 of aresponse content contained in the response, as a notification of theresult of the synchronization.

When the update synchronization is received, the synchronizationcommunication unit 309 acquires the data of the setting item to beupdated, adds time that the data has been updated, and transmits arequest to the server 120. Then, the synchronization communication unit309 receives a response from the server 120, and notifies thesynchronization control unit 308 of a response content contained in theresponse as a notification of the result of the synchronization.

Next, a configuration of a data synchronization service 320 included inthe server 120 will be described. The data synchronization service 320is a service that provides a function of managing the settinginformation of the multifunction peripheral 110. In the presentexemplary embodiment, the data synchronization service 320 will bedescribed, referring to the example in which this service is provided bythe server 120. FIG. 2 illustrates a configuration in which the server120 and the multifunction peripheral 110 are connected to each other,but the configuration is not limited thereto. For example, the datasynchronization service 320 may be provided by the multifunctionperipheral 110, and another multifunction peripheral 110 may beconnected to this multifunction peripheral 110. In other words, theinformation sharing system may be configured in such a manner that onemultifunction peripheral of the plurality of multifunction peripheralsfunctions as the server.

A synchronization communication unit 321 receives the synchronizationcommunication request from the multifunction peripheral 110, performsthe synchronization processing, and transmits the synchronizationcommunication response to the multifunction peripheral 110.

When the multifunction peripheral 110 is connected to the server 120,the synchronization communication unit 321 receives the settinginformation held by the multifunction peripheral 110 from themultifunction peripheral 110. Further, when the setting information heldby the multifunction peripheral 110 is updated after the multifunctionperipheral 110 is connected to the server 120, the synchronizationcommunication unit 321 receives the information indicating the contentof the update made to this setting information from the multifunctionperipheral 110. The setting information of the multifunction peripheral110 and the information indicating the content of the update areinformation received by the network I/F 227.

If the synchronization communication request is a request regarding theconfiguration information, the synchronization communication unit 321notifies a device management unit 322 of a content of the receivedrequest. If the synchronization communication request is the datasynchronization request, the synchronization communication unit 321acquires information indicating a setting item which is requested forthe synchronization communication, and confirms with a synchronizationtarget management unit 326 whether this setting item is thesynchronization target. If the setting item is not the synchronizationtarget, the synchronization communication unit 321 transmits anotification indicating that the setting item is not the synchronizationtarget as the response. If the setting item is the synchronizationtarget, the synchronization communication unit 321 notifies a settingmanagement unit 324 of the synchronization request, and makes a requestfor the synchronization processing to the setting management unit 324.Then, the synchronization communication unit 321 receives a result ofthe synchronization processing from the setting management unit 324, andtransmits the response to the multifunction peripheral 110. Further, thesynchronization communication unit 321 receives information indicating aresponse to the content of the request for the communication from eachmanagement unit, and carries out a communication of the response to themultifunction peripheral 110, which is a request source.

A device management unit 322 manages the configuration information ofthe multifunction peripheral 110 connected to the data synchronizationservice 320. The device management unit 322 receives the configurationinformation of the multifunction peripheral 110 requesting thesynchronization of the data, and updates a configuration informationholding unit 323. Further, the device management unit 322 receivesconfirmation about whether the multifunction peripheral 110 that hasissued the synchronization request has already started thesynchronization. Then, the device management unit 322 determines whetherthe configuration information holding unit 323 contains theconfiguration information of the corresponding multifunction peripheral110 that is contained in the received synchronization request.

If the request received by the device management unit 322 is a requestfrom the multifunction peripheral 110 newly connected to the datasynchronization service 320, the device management unit 322 newlyrecords the configuration information in the configuration informationholding unit 323. If the received request is a request from themultifunction peripheral 110 with which the synchronization has beenalready carried out and for which the configuration information has beenalready recorded in the configuration information holding unit 323, thedevice management unit 322 requests the configuration informationholding unit 323 to update the configuration information with thereceived data. If a request to end the use of the data synchronizationservice 320 is received, the device management unit 322 requests theconfiguration information holding unit 323 to delete the configurationinformation of the multifunction peripheral 110 that has issued therequest.

The configuration information holding unit 323 holds a configurationinformation management DB, which manages the configuration informationof the multifunction peripheral 110 connected to the datasynchronization service 320. The configuration information holding unit323 receives the request to acquire the configuration information andthe request to update the configuration information, and updates theconfiguration information management DB. When the configurationinformation management DB is updated, the configuration informationholding unit 323 records the last update time together with the contentof the update.

The setting management unit 324 manages a setting information managementDB, which is held by the setting holding unit 325. When the request forthe acquisition synchronization is received from the synchronizationcommunication unit 321, the setting management unit 324 acquires theupdate data from the setting holding unit 325 by specifying the settingitem and time from the last update time on that are contained in therequest, and returns the acquired update data to the synchronizationcommunication unit 321. When the update request is received, the settingmanagement unit 324 requests the setting holding unit 325 to update thedata by specifying the setting item, the update data, and the updatetime contained in the request, and returns a result thereof to thesynchronization communication unit 321.

The setting holding unit 325 holds the setting information managementDB. The setting information is structured so as to be classified by thesetting item in the setting information management DB. The settingholding unit 325 receives the request to acquire the setting informationand the request to update the setting information for each setting item,and updates the setting information management DB. The setting holdingunit 325 updates the setting information management DB, receiving dataspecifying the update time together with the setting item and thecontent of the update data. Further, by receiving the data specifyingthe setting item and the time, the setting holding unit 325 acquires andreturns the data updated from the specified time on, of the data of thespecified setting item. The details of the data held in the datamanagement DB will be described below.

The synchronization target management unit 326 manages the setting itemthat the data synchronization service 320 handles as the synchronizationtarget. The synchronization target management unit 326 receives aninquiry specifying the setting item whether it is the synchronizationtarget, from the synchronization communication unit 321, acquires asetting state from a synchronization target holding unit 327, andreturns a response indicating whether or not the setting item is thesynchronization target. Further, the synchronization target managementunit 326 receives a change of the synchronization target information,and changes a setting about whether or not each setting item is thesynchronization target. When the setting of the synchronization targetis changed, the synchronization target management unit 326 confirms withthe device management unit 322 whether there is the multifunctionperipheral 110 being in synchronization with the data synchronizationservice 320. Then, the synchronization target management unit 326 andnotifies that it accepts the change to the setting if there is not themultifunction peripheral 110 being in synchronization, and the settingcannot be changed if there is the multifunction peripheral 110 being insynchronization.

The synchronization target holding unit 327 holds a synchronizationtarget information DB, which records the setting item that the datasynchronization service 320 handles as the synchronization target. Asynchronization target information DB 450 records the setting item andwhether or not this setting item is the synchronization target. Thesynchronization target holding unit 327 accepts the update and theacquisition of the content about the synchronization target or thenon-synchronization target.

The communication performed by the above-described firmware is carriedout by the network I/F 205 of the multifunction peripheral 110 and thenetwork I/F 227 of the server 120 via the network 100.

FIG. 4 is a block diagram illustrating a structure of the data managedby the data synchronization service 320 according to the presentexemplary embodiment.

Server management data 400 includes a device management DB 410, asetting information DB 420, the synchronization target information DB450, and a setting management DB 460. The device management DB 410includes a registered device management DB 411 and the configurationinformation DB 412. The configuration information DB 412 is associatedwith the multifunction peripheral 110 connected to the datasynchronization service 320, and records one piece of data perapparatus. The setting information DB 420 includes the settinginformation of each setting item managed by the data synchronizationservice 320. In the present exemplary embodiment, the settinginformation DB 420 will be described, referring to an example in whichthe setting information DB 420 includes a device setting management DB430 and a user data management DB 440.

The device setting management DB 430 includes a device setting DB 431corresponding to the multifunction peripheral 110 connected to the datasynchronization service 320. The device setting DB 431 is a DB thatrecords the device settings structured in a manner similar to the devicesettings in the multifunction peripheral 110 to allow them tosynchronize with the device settings recorded in the multifunctionperipheral 110.

The user data management DB 440 includes a user data DB 441, which isthe settings of the user using the multifunction peripheral 110connected to the data synchronization service 320. The user data DB 441includes the user data for each user, which is the settings applicableonly to the relevant user. The user data includes the informationindicating the device settings for setting a display and an environment,the simple settings for reading out settings of operations of the copyfunction and the FAX function, and the address book in which adestination of transmission of the FAX or the like is registered.

The synchronization target information DB 450 records the setting of thesetting item that can be synchronized by the data synchronizationservice 320. In other words, the synchronization target information DB450 stores shared information indicating the setting item of the settinginformation that the server 120 is permitted to share with themultifunction peripheral 110.

The setting management DB 460 is a database that stores metadataregarding each of the settings managed by the data synchronizationservice 320. An example of the data stored in each of the DBs will bedescribed below.

A table 1 indicates device identification information stored in theregistered device management DB 411. The registered device management DB411 is a database that manages the individual multifunction peripheral110 with which the data is synchronized by the server 120. Theregistered device management DB 411 stores a device identification (ID)for uniquely identifying the multifunction peripheral 110 with which thedata is synchronized, an individual identifier for identifying theindividual multifunction peripheral 110, and the like.

TABLE 1 Table Indicating Registered Device Management DB Device IDIndividual Identifier 100001 A1-AAAA 100002 A1-AAAB 100003 B1-AAAA100004 B2-AAAA 100005 C1-AAAA

The tables 2 to 7 indicate the content of the setting information heldby the server 120. In the present exemplary embodiment, the settinginformation includes the configuration information, the device settinginformation, the user data, the user device settings, the user simplesettings, and the information in the user address book.

The table 2 indicates the content of the configuration informationmanaged in the configuration information DB 412. The configurationinformation is information indicating the function executable by and thesetting information settable in each multifunction peripheral.

The configuration information DB 412 is the database that stores andmanages the configuration information. The configuration informationincludes the individual identifier for identifying the individualmultifunction peripheral 110, a model name, the version of the firmware300, the license information indicating the usable function, and asynchronization operation state indicating whether the individual is insynchronization or is temporarily suspending. Further, the configurationinformation includes information indicating, for example, whether theindividual is equipped with a finisher and an optional cassette. Themodel name, the version of the firmware 300, the license, and the likeare structured in a similar system to the data stored in the settingmanagement DB 460, which will be described below.

TABLE 2 Table Indicating Items in Configuration Information DB AttributeValue Individual Identifier A1-FFFF Model Name A Version V 1.01 LicenseTransmission High Compression Synchronization of Setting Value AccessoryFinisher 1 Optional Cassette Operation State In SynchronizationThe table 3 indicates the content of the device setting informationmanaged in the device setting DB 431. In the present exemplaryembodiment, the device setting DB 431 is the database that stores thedevice setting information used in the multifunction peripheral 110. Thesetting information stored in the device setting DB 431 includeselements such as a setting information identifier for identifying thesetting information, a value of the setting information, an initialvalue, a value range, and a display condition. These elements arestructured in a system similar to the device setting information managedin the HDD 204 within the multifunction peripheral 110. When the settinginformation is changed in the server 120 or the multifunction peripheral110, the device setting information is synchronized by communicating atleast the setting information identifier and the value of the dataindicated in the table 3.

TABLE 3 Table Indicating Items in Device Setting DB Setting Value UpdateInitial Value Identifier Value Time Value Range Conditionsettings.common.sleep_time One April Five One — Minute 1, Minutes Minute2013 to at Sixty 12:05 Minutes settings.print.density 6 April 5 0 to —22, 10 2014 at 19:49 settings.send.compress_ratio Low June Standard Low,Transmission 21, 20 Standard, License 13 at and 12:00 Highsettings.print.tray_position A April Tray A A, B, Finisher 22, and COption 2014 (OPT) at 19:49 settings.usb_enable OFF April ON OFF — 22,and ON 2014 at 19:49 settings.auth.auth_mode ON April OFF OFF — 22, andON 2013 at 19:40 settings.auth.personalize ON April OFF OFF — 22, and ON2013 at 19:40 settings.auth.initial_screen OFF April OFF OFF — 22, andON 2014 at 19:49Next, the data stored in the user data management DB 440 will bedescribed with reference to the tables 4 to 8. In the present exemplaryembodiment, the user data management DB 440 will be described referringto an example that identifies the user information by a username, but anID or the like may be used instead of the username.

The table 4 indicates the user data contained in the user data DB 441.The user data DB 441 includes the device settings, the simple settings,and the address book identified by the username. The device settings,the simple settings, and the address book will be described withreference to the tables 5 to 7, respectively.

TABLE 4 Table Indicating Items in User Data Username sato DeviceSettings sato.configuration Simple Settings sato.custom Address Booksato.addressThe table 5 is a table indicating the user device settings contained inthe user data DB 441. The items settable for each user include a displaylanguage, a screen after a recovery, a screen color, an audio volume,and an audio speed. Each of the items is equivalent of the setting itemin the device that is used when the user is not logging in, and is theitem to be read out and used as the setting for each user when the userlogs in. For each of the setting items, a date and time when the settinginformation is changed is recorded as the last update time.

TABLE 5 Table Indicating Items in User Device Settings Setting LastUpdate Date and Setting Item Value Time Display Language JapaneseJanuary 23, 2014 at 10:40 Screen after Main Menu January 23, 2014 atRecovery 10:40 Screen Color Standard January 23, 2014 at 10:40 AudioVolume Standard January 23, 2014 at 10:40 Audio Speed Standard January23, 2014 at 10:40The table 6 indicates the user simple settings contained in the userdata DB 441. The user simple setting function is a function of readingout the setting of each function of the multifunction peripheral 110 andallowing immediate use of the function. The user simple settings eachinclude a name of the simple setting, a category of the function, suchas the copy and the FAX, a setting item changeable along with eachfunction and setting information thereof, and the last update time. Forexample, a simple setting of a No. 2 is a setting of the copy function,and is registered with a name of an energy-saving setting. Further,monochrome as a color setting, 2-in-1 as a multiple-up setting,one-sided to two-sided as an imposition setting, and a copy number of 10are registered. The last update time is the time when the simple settingis newly generated or changed last time.

TABLE 6 Table Indicating Items in User Simple Settings Last UpdateCategory Date of Changeable Setting and No. Name Function Setting ItemValue Time 1 Black Copy Color Monochrome January and Setting 23, White2014 at 10:30 2 Energy- Copy Color Monochrome January saving Setting 23,Setting Multiple-up 2-in-1 2014 at Setting 10:31 Imposition One-sidedSetting to Two- sided Number of 10 Copies 3 Color Copy Color Full ColorJanuary Setting 23, Color Option Vivid 2014 at 10:32 4 FAX FAXTransmission A Company, January Regular Destination CEO 23, Format 2014at 10:33 5 A SEND Transmission A Company, January Company, DestinationMr./Ms. B 23, Mr./Ms. B File Format Portable 2014 at Document 10:34Format (PDF) and High CompressionThe table 7 is a table indicating the user address book contained in theuser data DB 441. A destination of the FAX transmission or a destinationof electronic mail (E-mail) transmission can be registered in theaddress book, and the destination can be read out when the function isused. Individual items in the address book include a setting of categoryof the E-mail, the FAX, a name of the destination, the transmissiondestination indicating a mail address or a FAX number of thetransmission destination, and the last update date and time.

TABLE 7 Table Indicating Items in User Address Book Transmission LastUpdate No. Category Name Destination Date and Time 1 E-mail A Company,b@a.co.jp January 23, Mr./Ms. B 2014 at 10:24 2 E-mail A Company,c@a.co.jp January 23, Mr./Ms. C 2014 at 10:25 3 FAX A Company,xxx-xxxx-xxxx January 23, CEO 2014 at 10:26 4 E-mail D Company,d@e.co.jp February 17, Mr./Ms. E 2014 at 9:01 5 FAX D Company,xxx-xxxx-xxxx February 17, CEO 2014 at 9:02The table 8 indicates the setting item set as the synchronization targetthat is contained in the synchronization target information DB 450.Namely, the table 8 indicates the setting item of the settinginformation of which the server 120 permits sharing with themultifunction peripheral 110. The synchronization target information DB450 includes the synchronization target information for each settingitem. The setting item is determined in association with the settingitem managed by the server 120. For example, the setting item isclassified to correspond to each of the items indicated in the tables 2,3, and 4. In this case, three types of setting items, the configurationinformation, the device setting information, and the user data are thesetting items. As another example, the setting item can also beclassified to correspond to each of the items indicated in the tables 5,6, and 7. In this case, five types of setting items, the configurationinformation, the device setting information, the user device settings,the user simple settings, and the user address book are the settingitems.

The synchronization target information DB 450 may be classified tocorrespond to further detailed items. For example, the setting item ofthe configuration information refers to the setting for each of theattributes indicated in the table 2. Further, the setting item of thedevice settings refers to the setting for each of the setting valueidentifiers indicated in the table 3. Further, the setting item of theuser data refers to the setting for each username indicated in the table4. Further, the setting item of the user device settings refers to thesetting for each setting item indicated in the table 5. Further, thesetting item of the user simple settings refers to the setting for eachof the Nos. indicated in the table 6. Further, the setting item of theuser address book refers to the setting for each of the Nos. indicatedin the table 7.

The information sharing system according to the present exemplaryembodiment can synchronize the setting information (the setting value)on a one by one basis for each of the setting items of the devicesettings, the setting items of the user data, the setting items of theuser device settings, the setting items of the user simple settings, anitem of a setting between users, and the setting items of the useraddress book.

In the present exemplary embodiment, the synchronization targetinformation will be described, referring to the example in which settingitems are classified into the three types. The synchronization targetinformation is the setting that determines whether the setting item isthe target to be synchronized for each data synchronization service 320.Regarding the synchronization target information for each of the settingitems, equivalent information is also held on the multifunctionperipheral 110 side.

TABLE 8 Table Indicating Items in Synchronization Target Setting DBSetting Item Target/Not Target Device Settings Target User Data TargetAddress Book Not Target Group Information Not TargetThe table 9 indicates the data stored in the setting management DB 460.The setting management DB 460 is the database that stores the metadataregarding each of setting information managed by the server 120. Thesetting management DB 460 stores the setting information identifier foridentifying the setting information when the server 120 communicateswith the multifunction peripheral 110, the initial value, the valuerange, an applicable model/version, a condition of use of the settinginformation, a policy, and a cooperation specification. Each of thesetting information managed in the setting management DB 460 may varydepending on whether the setting information exists, and the value rangeand the initial value of the setting information, according to the modelof the multifunction peripheral 110 and the version of the firmware 300of the multifunction peripheral 110. The table 9 indicates that thesetting information identified by a setting information identifier“settings.common.sleep_time” is applicable to all individuals. Further,the table 9 indicates that the setting information identified by asetting information identifier “settings.print.density” varies in thevalue range and the initial value of the setting information dependingon the version of the installed firmware 300 for a model B.

The setting information with the condition of its use set is an itemwhich determines whether the condition of use is satisfied based on theconfiguration information. The table 9 indicates that the settinginformation identified by a setting information identifier“settings.send.compress_ratio” is available to only a device licensedfor the transmission. In the present exemplary embodiment, the settinginformation is described referring to an example in which the settinginformation is set to the initial value if the condition of use is notsatisfied, but the server 120 may perform processing for, for example,hiding a display, setting the setting information to the initial value,or omitting the setting item with respect to the setting informationwhich does not satisfy the condition of use.

TABLE 9 Table Indicating Items in Setting Information DB Setting ValueInitial Value Identifier Value Range Model/Version Conditionsettings.common.sleep_time Five One Common — Minutes Minute to SixtyMinutes settings.print.density 5 0 to Model — 10 A/ALL Model B/V02.01 orLater settings.print.density 3 0 to 6 Model B/ — V02.00 or EARLIER ModelC/ALL settings.send.compress_ratio Standard Low, Common TransmissionStandard, License and High settings.print.tray_position Tray A A, B,Common Finisher and C OPT settings.usb_enable ON OFF Common — and ONsettings.auth.auth_mode OFF OFF Common — and ONsettings.auth.personalize OFF OFF Common — and ONsettings.auth.initial_screen OFF OFF Common — and ONNow, processing performed by the multifunction peripheral 110 in initialconnection processing in which the multifunction peripheral 110 startsthe synchronization with the server 120 will be described with referenceto flowcharts illustrated in FIGS. 5 to 7A. Further, processingperformed by the server 120 in the initial connection processing will bedescribed with reference to flowcharts illustrated in FIGS. 7B and 8.

In the present exemplary embodiment, the initial connection processingrefers to processing performed when the server 120 and thismultifunction peripheral 110 are connected to each other, in such astate that the data (the setting information and the like) of themultifunction peripheral 110 to be newly connected to the server 120 isnot managed by the server 120. In the initial connection processing, themultifunction peripheral 110 identifies the setting item that the server120 handles as the synchronization target (the setting item that theserver 120 permits synchronizing). In the initial connection processing,the server 120 returns the response upon receiving the settinginformation when the multifunction peripheral 110 is connected to theserver 120. This response contains information indicating whether tocause the information indicating the content of the update to betransmitted from the multifunction peripheral 110 to the server 120 whenthe setting information is updated in the multifunction peripheral 110after the multifunction peripheral 110 is connected to the server 120.The server 120 returns the response indicating whether to demand thetransmission of the content of the update for each of the setting items.

The flowcharts performed by the program of the multifunction peripheral110 (FIGS. 5, 6, and 7A), and the flowcharts performed by the program ofthe server 120 (FIGS. 7B and 8) in the present exemplary embodiment willbe described. The CPU 201 included in the multifunction peripheral 110develops the program stored in the memory such as the ROM 202 into theRAM 203 and executes the developed program, by which each step in theflowcharts performed by the program of the multifunction peripheral 110is processed. The CPU 221 included in the server 120 develops theprogram stored in the memory such as the ROM 222 into the RAM 223 andexecutes the developed program, by which each step in the flowchartsperformed by the program of the server 120 is processed.

FIG. 5 is a flowchart illustrating processing performed until themultifunction peripheral 110 determines the setting item that the server120 handles as the synchronization target, and starts thesynchronization with the server 120. This flowchart is started from whenthe control unit 301 is called up at the time that the multifunctionperipheral 110 synchronizes with the server 120.

First, in step S501, the control unit 301 of the multifunctionperipheral 110 determines whether the synchronization management unit306 of the multifunction peripheral 110 holds a synchronization list(the shared information). The synchronization list is informationindicating the setting item of the setting information that the server120 handles as the synchronization target and the apparatus itself (themultifunction peripheral 110) also handles as the synchronizationtarget. This synchronization list is the shared information indicatingthe setting item of the setting information that the multifunctionperipheral 110 shares with the server 120.

For example, the synchronization list held by the multifunctionperipheral 110 indicates that the multifunction peripheral 110 sharesthe user data with the server 120 as the setting information.

If the multifunction peripheral 110 has never been connected to theserver 120, the multifunction peripheral 110 does not hold thesynchronization list. On the other hand, once the multifunctionperipheral 110 is connected to the server 120, the multifunctionperipheral 110 generates the synchronization list by performingprocesses of steps S506 to S509, which will be described below. If theconnection between the multifunction peripheral 110 and the server 120is temporarily suspended, and the multifunction peripheral 110 isconnected to the server 120 again, the multifunction peripheral 110holdings the synchronization list.

When the multifunction peripheral 110 is connected to the server 120with the shared information stored in the synchronization managementunit 306 in this manner, the multifunction peripheral 110 transmits thesetting information of the setting item determined based on the sharedinformation to the server 120. On the other hand, when the multifunctionperipheral 110 is connected to the server 120 without the sharedinformation stored in the synchronization management unit 306, themultifunction peripheral 110 transmits the setting information of all ofthe setting items that the multifunction peripheral 110 handles as thesynchronization targets to the server 120.

If the synchronization management unit 306 holds the synchronizationlist (YES in step S501), in steps S502 to S505, the multifunctionperipheral 110 performs processing for updating the synchronizationlist. On the other hand, if the synchronization management unit 306 doesnot hold the synchronization list (NO in step S501), in steps S506 toS509, the multifunction peripheral 110 generates the synchronizationlist by performing the processes of these steps.

If the synchronization management unit 306 holds the synchronizationlist (YES in step S501), in step S502, the control unit 301 performscontrol to read out the synchronization target information. Thesynchronization target information is the permission informationindicating the setting item of the setting information of which themultifunction peripheral 110 permits sharing with the server 120 amongthe setting information held by the multifunction peripheral 110. Inother words, the synchronization target information is the setting itemof the setting information that the multifunction peripheral 110 handlesas the target of the synchronization.

The setting item that the multifunction peripheral 110 handles as thetarget to be synchronized with the server 120 varies depending on themodel of the multifunction peripheral 110, the version of the firmware300 of the multifunction peripheral 110, and the like. For example, themultifunction peripheral 110 can handle the device settings and the userdata as the synchronization targets. Further, the multifunctionperipheral 110 can handle the address book information as thesynchronization target in addition to the device settings and the userdata. In the present exemplary embodiment, the synchronization targetinformation is held in a file format in the HDD 204 of the multifunctionperipheral 110.

Even the setting item that the multifunction peripheral 110 handles asthe synchronization target is not necessarily synchronized with theserver 120. The setting information of the setting item that the server120 does not handle as the target of the synchronization is notsynchronized between the server 120 and the multifunction peripheral 110even when this setting item is the setting item that the multifunctionperipheral 110 handles as the target of the synchronization.

In step S502, the control unit 301 causes the item management unit 307to select one setting item from among a plurality of setting itemshandled as the targets of the synchronization via the synchronizationmanagement unit 306. The control unit 301 causes the item managementunit 307 to select the setting item which is not yet selected by theitem management unit 307 from among the setting items indicated in thesynchronization target information, and the processing proceeds to stepS503.

In step S503, the synchronization management unit 306 determines whetherthe setting item selected by the item management unit 307 is registeredin the synchronization list. In other words, in step S503, thesynchronization management unit 306 determines whether each of thesetting items of which the multifunction peripheral 110 permits thesynchronization is contained in the list of setting item(s) that themultifunction peripheral 110 synchronizes with the server 120. If theselected setting item is registered in the synchronization list (YES instep S503), the processing proceeds to step S504. If the selectedsetting item is not registered in the synchronization list (NO in stepS503), the processing proceeds to step S505.

In step S504, the synchronization management unit 306 instructs thesynchronization control unit 308 to synchronize the setting itemselected in step S502 with the server 120. Then, the processing proceedsto step S505. That is, the setting information of the setting item inwhich the synchronization list indicating the sharing with the server120 and the setting item indicating that the sharing of thesynchronization target information with the server 120 is permitted isspecified as the setting item to be actually synchronized with theserver 120.

In step S505, the synchronization management unit 306 confirms with theitem management unit 307 whether all of the setting items contained inthe synchronization target information have been already selected. Ifall of the setting items have been already selected (YES in step S505),the processing proceeds to step S510. If there is a setting item thathas not been selected yet (NO in step S505), the processing proceeds tostep S502.

In step S510, the control unit 301 determines a synchronization statebetween the multifunction peripheral 110 and the server 120. If themultifunction peripheral 110 and the server 120 are in a non-synchronousstate (YES in step S510), the processing proceeds to step S511. If themultifunction peripheral 110 and the server 120 are in a synchronizationstarting state (NO in step S510), the processing proceeds to step S512.

In step S511, the control unit 301 performs the initial connectionprocessing, which is the processing for starting the synchronizationfrom the non-synchronous state. Details of the initial connectionprocessing will be described below with reference to FIG. 6. Uponcompletion of the initial connection processing, the present flowchartis ended.

In step S512, the multifunction peripheral 110 transmits the content ofthe update made to the setting information in the multifunctionperipheral 110 to the server 120 with respect to the setting itemdetermined to be synchronized by the processes of steps S502 to S509.This content of the update is the current value of the setting value inwhich a difference exists when a comparison is made between the settinginformation synchronized with the server 120 when the processing forsynchronizing with the server 120 has been performed last time, and thesetting information currently held by the multifunction peripheral 110.When the processing for synchronizing with the server 120 is performed,the time measurement unit 214 of the multifunction peripheral 110measures a synchronization time, and records the synchronization time inthe HDD 204. The multifunction peripheral 110 can identify the settingitem of the setting information updated following the lastsynchronization by comparing the synchronization time recorded in theHDD 204 with the current time measured by the time measurement unit 214.If there is no record indicating the execution of the processing forsynchronizing with the server 120, the multifunction peripheral 110transmits the current values to the server 120 with respect to all ofthe setting items determined to be synchronized by the processes ofsteps S502 to S509. After the process of step S512 is performed, thepresent flowchart is ended.

Next, the processing will be described, focusing on the steps that theprocessing proceeds to if the control unit 301 determines that thesynchronization management unit 306 does not hold the synchronizationlist in step S501 (NO in step S501). In the present exemplaryembodiment, if the multifunction peripheral 110 does not hold thesynchronization list, the multifunction peripheral 110 performsprocessing for generating the synchronization list to place all settinginformation of which the multifunction peripheral 110 permits thesynchronization, in the synchronization list. As described above, if thecontrol unit 301 determines that the synchronization management unit 306does not hold the synchronization list (NO in step S501), the processingproceeds to step S506.

In step S506, the control unit 301 instructs the synchronizationmanagement unit 306 to read out the synchronization target information.The synchronization management unit 306 instructs the item managementunit 307 to select the setting item not selected yet from thesynchronization target information, and the processing proceeds to stepS507.

In step S507, the synchronization management unit 306 adds theinformation indicating the selected setting item to the synchronizationlist. Then, the processing proceeds to step S508.

In step S508, the synchronization management unit 306 instructs thesynchronization control unit 308 to synchronize the setting itemselected in step S506 with the server 120. Then, the processing proceedsto step S509.

In step S509, the synchronization management unit 306 confirms with theitem management unit 307 whether all of the setting items indicated inthe synchronization target information have been selected. If all of thesetting items have been selected (YES in step S509), the processingproceeds to step S510. If there is a setting item that has not beenselected yet (NO in step S509), the processing proceeds to step S506.The synchronization list is generated by the processes from steps S506to S509. In the processes of step S510 and the steps subsequent thereto,the processing for starting the synchronization with the server 120 isperformed as described above.

Next, the details of the initial connection processing performed in stepS511 illustrated in FIG. 5 will be described with reference to FIG. 6.

First, in step S601, the control unit 301 confirms whether there is aninitial connection request with respect to any setting item among thesynchronization request(s) recorded in the control unit 301. Thesynchronization control unit 308 generates the synchronization requestand records the generated synchronization request in the control unit301 at a predetermined timing. For example, the synchronization controlunit 308 regularly issues and records the synchronization request tosynchronize the content of the update made to the setting informationfor each of the setting items after the multifunction peripheral 110 isstarted up. The initial connection request refers to the synchronizationrequest with respect to the setting item that has never beensynchronized with the server 120 among the setting items handled as thetargets regarding the synchronization requests.

The initial connection request is generated by the synchronizationcontrol unit 308, and the setting information is synchronized with theserver 120 sequentially. Regarding the synchronization request otherthan the initial connection request, the setting management unit 324makes the synchronization request to the synchronization control unit308 every time the setting value is changed in the multifunctionperipheral 110.

If there is the initial connection request in step S601 (YES in stepS601), the processing proceeds to step S602. If there is not the initialconnection request in step S601 (NO in step S601), the processingproceeds to step S603.

If there is the setting information with respect to which the initialconnection processing should be performed (YES in step S601), in stepS602, the control unit 301 reads out the unprocessed existing initialconnection request, and records a setting item to which the read initialconnection request has been made. Then, the processing proceeds to stepS604.

If there is not the setting information with respect to which theinitial connection processing should be performed (NO in step S601), instep S603, the control unit 301 acquires the setting item registered inthe synchronization list from the synchronization management unit 306.Then, the control unit 301 generates the initial connection request(s)with respect to all of the setting item(s) registered in thesynchronization list. Then, the control unit 301 records a setting itemto which the generated initial connection request has been made, and theprocessing proceeds to step S604.

In step S604, the control unit 301 confirms whether there is a requestregarding the setting item that is the configuration information amongthe recorded initial connection request(s). If there is the initialconnection request regarding the configuration information (YES in stepS604), the processing proceeds to step S606. If there is not the initialconnection request regarding the configuration information (NO in stepS604), the processing proceeds to step S605.

In step S605, the control unit 301 selects any one initial connectionrequest from among the unprocessed initial connection request(s). Then,the processing proceeds to step S607.

In step S606, the control unit 301 selects the initial connectionrequest regarding the configuration information from among theunprocessed initial connection request(s). Then, the processing proceedsto step S607.

In step S607, the control unit 301 identifies the setting item withrespect to which the initial connection request selected in step S605 orS606 is processed, and requests the synchronization control unit 308 ofthis setting item to perform the synchronization processing at the timeof the initial connection. The synchronization processing at the time ofthe initial connection will be described in detail below with referenceto FIG. 7. When the synchronization processing ends at the time of theinitial connection, the processing proceeds to step S608.

In step S608, the control unit 301 determines a result of thesynchronization processing performed in step S607. If the result of thesynchronization processing is a success (SUCCESS in step S608), theprocessing proceeds to step S609. If the result of the synchronizationprocessing is an error due to the setting item that is not thesynchronization target (ERROR DUE TO SETTING ITEM THAT IS NOTSYNCHRONIZATION TARGET in step S608), the processing proceeds to stepS610. If the result of the synchronization is an error that cannot beretried (ERROR THAT CANNOT BE RETRIED in step S608), the processingproceeds to step S613. If the result of the synchronization is anothererror (ANOTHER ERROR in step S608), the processing proceeds to stepS614. The error due to the setting item that is not the synchronizationtarget is the response for instructing the multifunction peripheral 110not to transmit the information indicating the content of the updatemade to the setting information of the setting item handled as thetarget in the multifunction peripheral 110 after the server 120 and themultifunction peripheral 110 are connected to each other.

In step S609, the control unit 301 deletes the initial connectionrequest carried out in step S607. Then, the processing proceeds to stepS615.

In step S610, the control unit 301 requests the synchronizationmanagement unit 306 to delete the setting item regarding the initialconnection request carried out in step S607 from the synchronizationlist. The synchronization management unit 306 deletes the requestedsetting item from the synchronization list, and the processing proceedsto step S611.

In step S611, the control unit 301 ends the processing of thesynchronization control unit 308 with respect to the setting itemdeleted in step S610. When the processing of the synchronization controlunit 308 ends, the processing proceeds to step S612. In step S612, thecontrol unit 301 deletes the initial connection request carried out instep S607. Then, the processing proceeds to step S615.

In this manner, the multifunction peripheral 110 deletes, from thesynchronization list, the setting item for which the response forinstructing the multifunction peripheral 110 not to transmit theinformation indicating the content of the update to the server 120 hasbeen received, thereby preventing this setting item from remaining inthe synchronization list. This deletion allows the multifunctionperipheral 110 to refrain from transmitting the information indicatingthe content of the update to the server 120 with respect to this settingitem next time the synchronization processing is performed, even if thesetting item is updated.

In other words, the multifunction peripheral 110 performs control toupdate the synchronization list with respect to the setting item forwhich the response for instructing the multifunction peripheral 110 notto transmit the information indicating the content of the update hasbeen received, and to remove this setting item from the targets of thesynchronization with the server 120.

In the present exemplary embodiment, the initial connection processinghas been described referring to the example that deletes the settingitem from the synchronization list with respect to which themultifunction peripheral 110 has been instructed not to get intosynchronization from the server 120, but is not limited thereto. Themultifunction peripheral 110 may be configured to store from the server120 into the HDD 204 information for identifying the setting item withwhich the multifunction peripheral 110 has been instructed not tosynchronize. For example, the multifunction peripheral 110 may beconfigured to set a flag to the setting item so that the setting item isprevented from being synchronized. Then, the multifunction peripheral110 can also perform control not to perform the processing forsynchronizing with the server 120 after that with respect to thissetting item stored in the HDD 204.

In step S613, the control unit 301 notifies the user of a failure inexecuting the initial connection request carried out in step S607. As amethod for notifying the user, the control unit 301 makes a notificationto an operation control unit that controls the operation unit 210, anddisplays an error message on the operation unit 210. Upon completion ofthe display of the error message, the initial connection processing andthe present flowchart are ended.

In step S614, the control unit 301 waits for a predetermined time beforeretrying the initial connection request carried out in the step S607.After that, the processing proceeds to step S607 to retry the initialconnection request.

In step S615, the control unit 301 confirms whether there is anunprocessed initial connection request. If there is an unprocessedinitial connection request (YES in step S615), the processing proceedsto step S605. If there is no unprocessed initial connection request (NOin step S615), the processing proceeds to step S616.

In step S616, the control unit 301 determines that the initialconnection processing has been completed, and changes thesynchronization state to the synchronization starting state. The controlunit 301 makes a notification to the operation control unit thatcontrols the operation unit 210, and produces a display that themultifunction peripheral 110 is in the synchronization starting state onthe operation unit 210. Upon ends of the change processing and thenotification processing, the present flowchart is ended.

FIGS. 7A and 7B are flowcharts illustrating details of thesynchronization processing at the time of the initial connection that iscarried out in step S607 illustrated in FIG. 6. The flowchartillustrated in FIG. 7A is called up and performed when thesynchronization control unit 308 performs step S607. FIG. 7A illustratesprocessing performed by the multifunction peripheral 110, and FIG. 7Billustrates processing performed by the server 120.

In step S701, the synchronization control unit 308 reads out the initialconnection request selected in step S605 or S606. Then, the processingproceeds to step S702.

In step S702, the synchronization control unit 308 generates the initialconnection request to be transmitted to the data synchronization service320, from the content of the received request for the initial connectionprocessing and the setting item to be synchronized. The content of theinitial connection request varies depending on the setting item.

For example, if the setting item is the configuration information, thesynchronization control unit 308 requests the configuration informationfrom the configuration information management unit 302. Theconfiguration information management unit 302 acquires the configurationinformation recorded in the configuration information holding unit 303,and transfers the acquired configuration information to thesynchronization control unit 308. The synchronization control unit 308generates the initial connection request based on the receivedconfiguration information. If the setting item is the user data, thesynchronization control unit 308 requests the user data held by themultifunction peripheral 110 from the setting management unit 304. Thesetting management unit 304 reads out all of user data that the settingholding unit 305 holds as the synchronization target(s), and transfersthe read user data to the synchronization control unit 308. Thesynchronization control unit 308 generates the initial connectionrequest based on the acquired user data. Upon completing the generationof the initial connection request, the synchronization control unit 308requests the synchronization communication unit 309 to transmit theinitial connection request to the server 120. The synchronizationcommunication unit 309 transmits the received request to the datasynchronization service 320 of the server 120, and the processingproceeds to step S703.

In step S703, the synchronization communication unit 321 of the datasynchronization service 320 receives the initial connection requesttransmitted from the multifunction peripheral 110. Then, thesynchronization communication unit 321 identifies a setting item whichis subject to the received initial connection request, and theprocessing proceeds to step S704.

In step S704, the synchronization communication unit 321 requests thesetting item handled as the synchronization target from thesynchronization target management unit 326. The synchronization targetmanagement unit 326 reads in the synchronization target information heldby the synchronization target holding unit 327, and transfers the readsynchronization target information to the synchronization communicationunit 321. Then, the processing proceeds to step S705. Thissynchronization target information is the shared information indicatingthe setting item of the setting information of which the server 120permits the sharing with the multifunction peripheral 110.

In step S705, the synchronization communication unit 321 determineswhether the setting item regarding the received initial connectionrequest is contained in the synchronization target information. If thissetting item is contained in the synchronization target information (YESin step S705), the processing proceeds to step S706. If this settingitem is not contained in the synchronization target information (NO instep S705), the processing proceeds to step S707.

In step S706, the synchronization communication unit 321 determines thesetting item from the received initial connection request and processesthe request according to the setting item. For example, if the settingitem is the configuration information, the synchronization communicationunit 321 confirms whether the device information with respect to whichthe initial connection request has been received is already registeredin the device management unit 322. The device management unit 322 checkswhether the device to be confirmed according to the request isregistered in the configuration information holding unit 323, andtransfers a result of the confirmation. If the device is not registered,the synchronization communication unit 321 requests the devicemanagement unit 322 to register the configuration information receivedvia the initial connection request. The device management unit 322requests the configuration information holding unit 323 to register thereceived configuration information. The configuration informationholding unit 323 records the received configuration information in theconfiguration information DB 412. Then, the configuration informationholding unit 323 issues the device ID, and registers the device ID andthe individual identification number contained in the configurationinformation, in the registered device management DB 411.

On the other hand, if the setting item is the user data, thesynchronization communication unit 321 requests the setting managementunit 324 to set the user data with respect to which the initialconnection request has been received. The setting management unit 324divides the request to determine whose user data is contained thereinfrom the received user data. Then, the setting management unit 324confirms whether the user contained in the initial connection request isregistered with the setting holding unit 325. The setting managementunit 324 ignores the user data contained in the initial connectionrequest if the data is already registered, while the setting managementunit 324 requests the setting holding unit 325 to register the user dataas new user information if the data is not registered. When theprocessing of the initial connection request ends, the synchronizationcommunication unit 321 generates the response according to a result ofprocessing the request. For example, if an error occurs in an analysisof the request while the request is processed, the processing of theinitial connection request is ended with a request analysis errorgenerated as the response. Then, upon the generation of the response,the processing proceeds to step S708.

In step S707, the synchronization communication unit 321 generates theresponse notifying the multifunction peripheral 110 that the settingitem regarding the received initial connection request is not thesynchronization target. Then, the processing proceeds to step S708.

In step S708, the synchronization communication unit 321 transmits theresponse generated in step S706 or S707 in response to the requestreceived in step S703. This response indicates whether to cause theinformation indicating the content of the update to be transmitted fromthe multifunction peripheral 110 to the server 120. When the response istransmitted, the processing proceeds to step S709.

In this manner, in steps S706 and S708, the server 120 transmits theresponse for causing the information indicating the content of theupdate to be transmitted from the multifunction peripheral 110 to theserver 120 with respect to the setting item of the setting informationof which the server 120 permits the sharing with the multifunctionperipheral 110 (the setting item determined as YES in step S705).

On the other hand, in steps S707 and S708, the server 120 transmits theresponse for prohibiting the information indicating the content of theupdate from being transmitted from the multifunction peripheral 110 tothe server 120 with respect to the setting item of the settinginformation of which the server 120 does not permit the sharing with themultifunction peripheral 110 (the setting item determined as NO in stepS705).

In step S709, the synchronization communication unit 309 receives theresponse from the data synchronization service 320, and transfers acontent of the reception to the synchronization control unit 308. Thesynchronization communication unit 309 receives the response to thetransmission of the setting information contained in the initialconnection request in step S702, from the server 120 for each settingitem of the setting information. Then, the synchronization control unit308 performs the data synchronization processing according to thecontent of the response, and the processing proceeds to step S710.

In step S710, the synchronization control unit 308 records a result ofthe communication with the data synchronization service 320 that iscontained in the response received in step S709. The synchronizationcontrol unit 308 controls the network I/F 205 not to transmit theinformation indicating the content of the update, to the server 120 withrespect to the setting information of the setting item for which apredetermined response has been received as the response. Thepredetermined response is the response instructing the image formingapparatus not to transmit the information indicating the content of theupdate made to the setting information in the multifunction peripheral110, to the image forming apparatus. Then, the synchronization controlunit 308 notifies the control unit 301, which is the source that hascalled up the synchronization control unit 308, of the result of thecommunication, and the present flowchart is ended.

A problem that has occurred in any step in the present flowchart is alsotreated as occurrence of the error, and the error is returned as theresult of the synchronization processing.

Next, the setting processing for the setting item to be handled as thesynchronization target in the server 120 will be described withreference to FIG. 8.

FIG. 8 is a flowchart illustrating processing in which the server 120sets whether the setting item is the target or not the target, withrespect to each of the setting items in the synchronization targetinformation DB 450 indicated in the table 8. A change to the setting inthe synchronization target information DB 450 is permitted only whenthere is not even a single multifunction peripheral 110 synchronizingwith the server 120.

In other words, the HDD 224 stores the shared information (the table 8)indicating the setting item of the setting information of which theserver 120 permits the sharing with the multifunction peripheral 110.The HDD 224 permits a change to the content of the shared informationwhen the server 120 does not perform the processing for sharing thesetting information with the multifunction peripheral 110. The casewhere the server 120 does not perform the processing for sharing thesetting information with the multifunction peripheral 110 includes acase where the server 120 is not connected to the multifunctionperipheral 110.

In this manner, the server 120 can prevent inconsistency from occurringbetween the setting of the synchronization target and the setting itemthat is actually synchronized, owing to the change made to thesynchronization target when there is already the multifunctionperipheral 110 synchronizing with the server 120.

This flowchart is performed when the synchronization target informationunit 328 of the data synchronization service 320 is called up. Thesynchronization target information unit 328 may be called up from thedisplay unit 230 of the server 120, or may be called up by accessingfrom an external device via the network I/F 227.

In step S801, the synchronization target information unit 328 receives arequest to change the synchronization target. Upon the reception of therequest, the processing proceeds to step S802.

In step S802, the synchronization target information unit 328 confirmswith the device management unit 322 whether there is a devicesynchronizing with the server 120 to. The device management unit 322confirms whether the configuration information holding unit 323 holdsthe configuration information. If the configuration information holdingunit 323 holds the configuration information, the device management unit322 confirms the synchronization state, and notifies the synchronizationtarget information unit 328 of a result thereof. If the synchronizationtarget information unit 328 confirms that there is no devicesynchronizing with the server 120 (NO in step S802), the processingproceeds to step S803. If there is a device synchronizing with theserver 120 (YES in step S802), the processing proceeds to step S805.

In step S803, the synchronization target information unit 328 displays ascreen for changing the synchronization target on a source that hascalled up the synchronization target information unit 328 by issuing therequest to change the synchronization target. For example, thesynchronization target information unit 328 displays a screen forchanging the synchronization target illustrated in FIG. 9A on thedisplay unit 230. When the change request input on the change screen isreceived via the operation unit 229, the processing proceeds to stepS804.

In step S804, the synchronization target information unit 328 confirms acontent of the received change request. If the received change requestcontains a change to the setting about whether the setting item is thesynchronization target or not the synchronization target, with respectto any of the setting items, the synchronization target information unit328 calls up the synchronization target management unit 326, andregisters the content of the change with the synchronization targetholding unit 327. For example, if the change request to set the devicesetting information not to be the synchronization target is received,the synchronization target information unit 328 issues a request tochange the device setting information in the synchronization targetholding unit 327 so as to be not the synchronization target. When theregistration of the change request ends, the present flowchart is ended.

In step S805, the synchronization target information unit 328 notifiesthe request source that the change to the synchronization target is notpermitted. For example, the synchronization target information unit 328notifies the request source by displaying a screen illustrated in FIG.9B on the display unit 230. Then, the present flowchart is ended.

According to the processing described with reference to FIG. 8, theserver 120 can prevent the synchronization target from beinginadvertently changed by mistake despite the presence of the devicesynchronizing with the server 120, thereby preventing the contentindicating the setting item to be synchronized from being inadvertentlychanged in the middle of the synchronization.

In the above-described manner, according to the present exemplaryembodiment, the server 120 can cause the multifunction peripheral 110 toautomatically set the synchronization target such that only the settingitem that the server 120 handles as the synchronization targetsynchronizes with the multifunction peripheral 110 during the initialconnection processing. The user no longer has to set the synchronizationtarget on the multifunction peripheral 110 every time the initialconnection is established. Thus, the present exemplary embodiment canreduce a load of processing for setting the data that is not thesynchronization target and the load of the communication.

Now, a second exemplary embodiment will be described. The multifunctionperipheral 110 may temporarily end the synchronization with the server120, and start the synchronization with a new server 120. At this time,it is possible that the setting item that the new server 120 handles asthe synchronization target is different from the previously connectedserver 120, which may lead to a failure to synchronize the data that thenew server 120 handles as the synchronization target. Therefore, in thepresent exemplary embodiment, an example will be described in which themultifunction peripheral 110 performs control to delete the sharedinformation at the time of ending a state where the setting informationis shared with the server 120.

The present exemplary embodiment will be described, omittingdescriptions regarding similar features to the first exemplaryembodiment and focusing on only features characteristic of the presentexemplary embodiment.

FIG. 10 is a flowchart illustrating processing in which themultifunction peripheral 110 ends the synchronization with the server120. This flowchart is started from when the multifunction peripheral110 receives a synchronization end request. The synchronization endrequest is notified to the control unit 301 by indicating to theoperation unit 210 of the multifunction peripheral 110.

In step S1001, the control unit 301 receives the synchronization endrequest. Then, the processing proceeds to step S1002.

In step S1002, the control unit 301 acquires the setting item(s)registered with the synchronization list from the synchronizationmanagement unit 306. Then, the control unit 301 generates an endprocessing request with respect to all of the setting item registeredwith the synchronization list. Then, the control unit 301 records asetting item which is subject to the generated end processing request,and the processing proceeds to step S1003.

In step S1003, the control unit 301 selects any one end processingrequest among the unprocessed end processing request(s). Then, theprocessing proceeds to step S1004.

In step S1004, the control unit 301 identifies the setting item withrespect to which the end processing request selected in step S1003 isprocessed, and requests the synchronization control unit 308 of thissetting item to perform the end processing. The end processing will bedescribed in detail below with reference to FIGS. 11A and 11B. Uponreception of a result of the end processing from the synchronizationcontrol unit 308, the processing proceeds to step S1005.

In step S1005, the control unit 301 deletes the end processing requestcarried out in step S1004. Then, the processing proceeds to step S1006.

In step S1006, the control unit 301 ends the processing of thesynchronization control unit 308 with respect to which the endprocessing has been requested in step S1004. Upon the end of theprocessing of the synchronization control unit 308, the processingproceeds to step S1007.

In step S1007, the control unit 301 confirms whether there is anunprocessed end processing request. If there is an unprocessed endprocessing request (YES in step S1007), the processing proceeds to stepS1003. If there is no unprocessed end processing request (NO in stepS1007), the processing proceeds to step S1008.

In step S1008, the control unit 301 requests the synchronization targetmanagement unit 306 to delete the synchronization list. After deletingthe synchronization list, the synchronization target management unit 306notifies the control unit 301 thereof. When the control unit 301receives the notification indicating that the synchronization list hasbeen deleted, the processing proceeds to step S1009.

In step S1009, the control unit 301 determines that the processing forending the synchronization has been completed, and changes thesynchronization state to the non-synchronous state. The control unit 301sends a notification to the operation control unit that controls theoperation unit 210, and displays that the multifunction peripheral 110is in the non-synchronous state on the operation unit 210. When thechange processing and the notification processing end, the presentflowchart is ended.

FIGS. 11A and 11B are flowcharts illustrating details of synchronizationof the end processing that is performed in step S1004 illustrated inFIG. 10. FIG. 11A is processing performed by the multifunctionperipheral 110. Further, FIG. 11B is processing performed by the server120. The flowchart illustrated in FIG. 11A is performed when thesynchronization control unit 308 is requested to synchronize the endprocessing in step S1004.

In step S1101, the synchronization control unit 308 receives the endprocessing request selected in step S1003, and reads out the endprocessing request. Then, the processing proceeds to step S1102.

In step S1102, the synchronization control unit 308 determines whetherthe setting item regarding the end processing request is the settingitem managed by the multifunction peripheral 110 itself which requiresthe end processing. Whether the end processing is required means whetherthe server 120 manages the setting item as individual data of themultifunction peripheral 110. For example, the configuration informationand the device setting information are the individual data, which ismanaged in such a manner that the data in the multifunction peripheral110 and the data in the server 120 are associated with each other one toone. Therefore, when the multifunction peripheral 110 ends thesynchronization, the individual data thereof should be deleted. On theother hand, the user data is data shared between a plurality ofmultifunction peripherals 110, and even when one multifunctionperipheral 110 stops the synchronization, the data cannot be deletedbecause it continues to be used by the other multifunction peripheral(s)110. Therefore, the user data can be determined to be the setting itemwith respect to which the end processing is unnecessary. If the settingitem regarding the end processing request is an item with respect towhich the end processing is necessary (YES in step S1102), theprocessing proceeds to step S1103. If the setting item is an item withrespect to which the end processing is unnecessary (NO in step S1102),the present flowchart is ended.

In step S1103, the synchronization control unit 308 generates an endprocessing request to be transmitted to the data synchronization service320 from the content of the received request for the end processing andthe setting item to be synchronized. The setting item is recorded in theend processing request. Upon completing the generation of the endprocessing request, the synchronization control unit 308 requests thesynchronization communication unit 309 to transmit the end processingrequest to the data synchronization service 320. The synchronizationcommunication unit 309 transmits the received request to the datasynchronization service 320, and the processing proceeds to step S1104.

In step S1104, the synchronization communication unit 321 of the datasynchronization service 320 receives the end processing requesttransmitted from the multifunction peripheral 110. Then, thesynchronization communication unit 321 identifies a setting item whichis subject to the end processing request, and the processing proceeds tostep S1105.

In step S1105, the synchronization communication unit 321 determines thesetting item from the received end processing request, and performs endprocessing according to the setting item. For example, if the settingitem is the configuration information, the synchronization communicationunit 321 requests the device management unit 322 to delete theconfiguration information of the device that has issued the request. Thedevice management unit 322 deletes the configuration information fromthe configuration information DB 412 via the configuration informationholding unit 323, and also deletes the record of this device from theregistered device management DB 411. When the processing of the endprocessing request is ended, the synchronization communication unit 321generates a response according to a result of processing the request,and the processing proceeds to step S1106.

In step S1106, the synchronization communication unit 321 transmits theresponse generated in step S1105 in response to the request received instep S1104. After the response is transmitted, the processing proceedsto step S1107.

In step S1107, the synchronization communication unit 309 receives theresponse from the data synchronization service 320, and transfers areceived content to the synchronization control unit 308. Thesynchronization control unit 308 executes the synchronization controlunit 308 according to the content of the response, and the processingproceeds to step S1108.

In step S1108, the synchronization control unit 308 records a result ofthe communication with the data synchronization service 320 that iscontained in the response received in step S1107. Then, thesynchronization control unit 308 notifies the control unit 301, which isthe source that has called up the synchronization control unit 308, ofthe result of the communication, and the present flowchart is ended.

In this manner, according to the present exemplary embodiment, theprocessing is performed that deletes the entire synchronization listwhen the multifunction peripheral 110 ends the synchronization with theserver 120. This deletion allows the multifunction peripheral 110 andthe server 120 to perform the processing described in the firstexemplary embodiment and start the synchronization of the setting itemset as the synchronization target in the new server 120 when themultifunction peripheral 110 starts the synchronization with the newserver 120.

Now, a third exemplary embodiment will be described. In the presentexemplary embodiment, as an example, the multifunction peripheral 110varies the method by which the multifunction peripheral 110 notifies theserver 120 of the setting information according to the setting item ofthe setting information when the multifunction peripheral 110 isconnected to the server 120. According to the present exemplaryembodiment, a communication amount required in the initial connectionprocessing can be reduced, and a time taken until the completion of theinitial connection can be shortened.

When a plurality of multifunction peripherals is connected to the server120, whether common setting information is used between the plurality ofmultifunction peripherals varies depending on the setting item of thesetting information.

For example, if the setting item is the configuration information, thecontent of the setting information varies between the plurality ofmultifunction peripherals. This is because the configuration informationindicating the version of the firmware, whether the multifunctionperipheral is equipped with the finisher, and the like is the settinginformation specific to each of the multifunction peripherals, and isinformation inapplicable to the other multifunction peripheral(s).

On the other hand, if the setting item is the user simple settings, thissetting item can be used as the setting information common between theplurality of multifunction peripherals. For example, supposing that thesimple settings (the setting item) of a user A include a setting (thesetting information) specifying monochrome as the print color setting,this setting can be used in common between the plurality ofmultifunction peripherals.

Since the configuration information is the setting information specificto each of the multifunction peripherals, when a new multifunctionperipheral is connected to the server 120, the server 120 should acquirethe configuration information of this newly connected multifunctionperipheral. On the other hand, regarding the user simple settings, it ispossible that the server 120 has already acquired the user simplesettings from the already connected multifunction peripheral, and thenewly connected multifunction peripheral does not have to notify theserver 120 of the user simple settings.

In other words, if the multifunction peripheral newly connected to theserver 120 notifies the server 120 of the user simple settings at thetime of the connection, this notification may end up only wasting a timefor the communication processing and a communication band used in thecommunication of the user simple settings.

Therefore, in the present exemplary embodiment, when the multifunctionperipheral 110 is connected to the server 120, the multifunctionperipheral 110 changes the method by which the multifunction peripheral110 notifies the server 120 of the setting information according to thesetting item of the setting information.

The multifunction peripheral 110 determines whether the settinginformation held by the multifunction peripheral 110 is the settinginformation shared between the plurality of multifunction peripheralsconnected to the server 120, or the setting information specific to eachof the multifunction peripherals, for each of the setting items. Then,the multifunction peripheral 110 changes the processing for transmittingthe setting information to the server 120 based on a result of thedetermination.

For example, the multifunction peripheral 110 transmits the settinginformation without confirming with the server 120 with respect to thesetting information specific to the multifunction peripheral 110, suchas the configuration information. In other words, the multifunctionperipheral 110 transmits the setting information specific to themultifunction peripheral 110 to the information processing apparatuswithout performing confirmation processing, which will be describedbelow.

On the other hand, with respect to the setting information used incommon between the plurality of multifunction peripherals, such as theuser simple settings, the multifunction peripheral 110 confirms with theserver 120 whether the server 120 already holds this setting informationbefore transmitting the setting information to the server 120. Themultifunction peripheral 110 confirms with the server 120 whether theserver 120 holds the setting information shared between the plurality ofmultifunction peripherals for each of the setting items.

The multifunction peripheral 110 does not transmit the settinginformation confirmed to be already held by the server 120. On the otherhand, the multifunction peripheral 110 transmits the setting informationconfirmed not to be held by the server 120. In other words, themultifunction peripheral 110 transmits the setting information of thesetting item confirmed not to be held by the server 120 to the server120 with respect to the setting information shared between the pluralityof multifunction peripherals connected to the server 120.

In this manner, the communication amount required for the initialconnection processing can be reduced, and the time taken until thecompletion of the initial connection can be shortened.

Now, details of the present exemplary embodiment will be described. Thepresent exemplary embodiment will be described, omitting descriptions offeatures similar to the first or second exemplary embodiment.

FIG. 12 is a flowchart illustrating initial connection processingperformed for the multifunction peripheral 110 to start thesynchronization with the data synchronization service 320 according tothe present exemplary embodiment. This flowchart is called up from stepS511 illustrated in FIG. 5 and performed. The present flowchart includessimilar processes to the flowchart illustrated in FIG. 6, and thereforewill be described omitting descriptions of the similar processes.

Steps S601 to S606 are the similar processes to the flowchartillustrated in FIG. 6, and therefore descriptions thereof will beomitted here. When the process of step S605 or S606 ends, the processingproceeds to step S1201.

In step S1201, the control unit 301 confirms the setting item regardingthe initial connection request selected in step S605 or S606, andprocesses the setting item associated therewith. The control unit 301requests the synchronization control unit 308 to process the initialconnection request. The synchronization control unit 308 determineswhether the data to be processed by the synchronization control unit 308itself is treated as the individual data by the data synchronizationservice 320. If this data is treated as the individual data (YES in stepS1201), the processing proceeds to step S607. If not (NO in step S1201),the processing proceeds to step S1202.

In step S1202, the synchronization control unit 308 performs shared datainitial synchronization processing. The shared data initialsynchronization processing will be described in detail below withreference to FIGS. 13A and 13B. When the shared data initialsynchronization processing ends, the synchronization control unit 308notifies the control unit 301 of a result of the processing, and theprocessing proceeds to step S608. Steps S607 to S616 are the similarprocesses to the flowchart illustrated in FIG. 6, and thereforedescriptions thereof will be omitted here.

FIGS. 13A and 13B are flowcharts illustrating details of thesynchronization processing at the time of the initial connection for theshared data that is performed in step S1202 illustrated in FIG. 12. FIG.13A is processing performed by the multifunction peripheral 110.Further, FIG. 13B is processing performed by the server 120. Theflowchart illustrated in FIG. 13A is called up and performed when thesynchronization control unit 308 receives the initial connection requestfor the shared data in step S1202.

In step S1301, the synchronization control unit 308 reads out thereceived request for the initial connection processing. Then, theprocessing proceeds to step S1302.

In step S1302, the synchronization control unit 308 generates a dataconfirmation request to be transmitted to the data synchronizationservice 320 from the content of the received request for the initialconnection processing for the shared data, and the setting item to besynchronized. The content of the data confirmation request variesdepending on the setting item. For example, if the setting item is theuser data, the synchronization control unit 308 for the user datarequests the username whose user data is held by the multifunctionperipheral 110 from the setting management unit 304. The settingmanagement unit 304 transfers the username of the user whose user datais held by the setting holding unit 305 to the synchronization controlunit 308. The synchronization control unit 308 generates the dataconfirmation request based on the acquired user. Upon completing thegeneration of the data confirmation request, the synchronization controlunit 308 requests the synchronization communication unit 309 to transmitthe data confirmation request to the data synchronization service 320.The synchronization communication unit 309 transmits the receivedrequest to the data synchronization service 320, and the processingproceeds to step S1303.

In step S1303, the synchronization communication unit 321 of the datasynchronization service 320 receives the data confirmation requesttransmitted from the multifunction peripheral 110. Then, thesynchronization communication unit 321 identifies a setting item whichis subject to the data confirmation request, and the processing proceedsto step S1304.

In step S1304, the synchronization communication unit 321 requests thesetting item handled as the synchronization target from thesynchronization target management unit 326. The synchronization targetmanagement unit 326 reads in the synchronization target information heldby the synchronization target holding unit 327, and transfers the readsynchronization target information to the synchronization communicationunit 321. Then, the processing proceeds to step S1305.

In step S1305, the synchronization communication unit 321 determineswhether the setting item regarding the received data confirmationrequest is contained in the synchronization targets. If this settingitem is contained in the synchronization targets (YES in step S1305),the processing proceeds to step S1306. If this setting item is notcontained in the synchronization targets (NO in step S1305), theprocessing proceeds to step S1307.

In step S1306, the synchronization communication unit 321 determines thesetting item from the received data confirmation request, and performsthe processing of the request according to the setting item. Forexample, if the setting item is the user data, the synchronizationcommunication unit 321 confirms with the setting management unit 324whether the user data of the user contained in the data confirmationrequest is registered. The setting management unit 324 confirms whoseuser data is registered from the received user via the setting holdingunit 325, and notifies the synchronization communication unit 321 of aresult of the confirmation. The synchronization communication unit 321generates the response according to whether the user data is registered.Upon the generation of the response, the processing proceeds to stepS1308.

In step S1307, the synchronization communication unit 321 generates theresponse notifying the multifunction peripheral 110 that the settingitem regarding the received data confirmation request is not thesynchronization target. Then, the processing proceeds to step S1308.

In step S1308, the synchronization communication unit 321 transmits theresponse generated in step S1306 or S1307 in response to the requestreceived in step S1303. Upon the transmission of the response, theprocessing proceeds to step S1309.

In step S1309, the synchronization communication unit 309 receives theresponse from the data synchronization service 320, and transfers thereceived response to the synchronization control unit 308. Thesynchronization control unit 308 reads out a result of the communicationfrom the response, and the processing proceeds to step S1310.

In step S1310, the synchronization control unit 308 records the resultof the communication with the data synchronization service 320 that iscontained in the response received in step S1309. Then, thesynchronization control unit 308 notifies the control unit 301, which isthe source that has called up the synchronization control unit 308, ofthe result of the communication, and the processing proceeds to stepS1311.

In step S1311, the synchronization control unit 308 determines whetherthe result of the communication is a success. If the result of thecommunication is a success (YES in step S1311), the processing proceedsto step S1312. If the result of the communication is a result other thana success (NO in step S1311), the synchronization control unit 308notifies the control unit 301 of the result of the communication, andthe present flowchart is ended.

In step S1312, the synchronization control unit 308 reads out a resultof the data confirmation from the response received in step S1309. Ifthe result of the data confirmation indicates that there is dataunregistered with the data synchronization service 320 (YES in stepS1312), the processing proceeds to step S1313. If there is no dataunregistered with the data synchronization service 320 (NO in stepS1312), the synchronization control unit 308 notifies the control unit301 of the result of the communication, and the present flowchart isended.

In step S1313, the synchronization control unit 308 generates a datasharing request to transmit the unregistered data confirmed in stepS1312. The synchronization control unit 308 requests the settingmanagement unit 304 to acquire the unregistered data. The settingmanagement unit 304 reads out the specified data from the settingholding unit 305, and notifies the synchronization control unit 308 of aresult thereof. The synchronization control unit 308 generates the datasharing request from the received data. Upon completing the generationof the request, the synchronization control unit 308 requests thesynchronization communication unit 309 to transmit the data sharingrequest to the data synchronization service 320. The synchronizationcommunication unit 309 transmits the received request to the datasynchronization service 320, and the processing proceeds to step S1314.

In step S1314, the synchronization communication unit 321 of the datasynchronization service 320 receives the data sharing requesttransmitted from the multifunction peripheral 110. Then, thesynchronization communication unit 321 identifies a setting item whichis subject to the data sharing request, and the processing proceeds tostep S1315.

In step S1315, the synchronization communication unit 321 determines thesetting item from the received data sharing request, and carries out thesharing of the data according to the setting item. For example, if thesetting item is the user data, the synchronization communication unit321 reads out the user data from the data sharing request, and requeststhe setting management unit 324 to register the read user data. Thesetting management unit 324 registers the requested user data with theuser data DB 441 within the device via the setting holding unit 325.When the processing on all of the piece(s) of data contained in therequest ends, the synchronization communication unit 321 generates aresponse according to a result of processing the request, and theprocessing proceeds to step S1316.

In step S1316, the synchronization communication unit 321 transmits theresponse generated in step S1315 in response to the request received instep S1314. After the transmission of the response, the processingproceeds to step S1317.

In step S1317, the synchronization communication unit 309 receives theresponse from the data synchronization service 320, and transfers acontent of the reception to the synchronization control unit 308. Thesynchronization control unit 308 executes the synchronization controlunit 308 according to the content of the response, and the processingproceeds to step S1318.

In step S1318, the synchronization control unit 308 records a result ofthe communication with the data synchronization service 320 that iscontained in the response received in step S1317. Then, thesynchronization control unit 308 notifies the control unit 301, which isthe source that has called up the synchronization control unit 308, ofthe result of the communication, and the present flowchart is ended.

In the above-described manner, according to the present exemplaryembodiment, the multifunction peripheral 110 can determine whether totransmit the data or whether to transmit the data confirmation for eachof the setting items at the time of the initial connection processing toappropriately perform the initial connection processing, and alsoconfirm whether the setting item is the synchronization target from theresult of this communication. The communication amount required for theinitial connection processing can be reduced, and the time taken untilthe completion of the initial connection can be shortened, regardless ofa setting status of the synchronization target.

Now, a fourth exemplary embodiment will be described. Theabove-described exemplary embodiments have been described, referring tothe example in which the server returns the response on a one by onebasis for each of the setting values according to the reception of thesetting information from the client. However, the present invention isnot limited thereto. A similar effect can also be achieved by, forexample, causing the server to notify the client of the setting itemthat the server 120 can synchronize, and receive a response indicating asynchronization target item from the client during the initialconnection processing.

In other words, the server may be configured to transmit to the clientinformation for identifying the setting item with respect to which theclient transmits the information indicating the content of the updatemade to the setting value in the client to the server, when the clientis connected to the server.

In the following description, the present exemplary embodiment will bedescribed referring to the example in which the client is themultifunction peripheral 110, similarly to the above-described exemplaryembodiments.

A system configuration according to the present exemplary embodiment issimilar to the system configuration described in the first exemplaryembodiment, and therefore a description thereof will be omitted here.

Initial connection processing according to the present exemplaryembodiment will be described with reference to FIGS. 14A and 14B. TheCPU 201 included in the multifunction peripheral 110 develops theprogram stored in the memory such as the ROM 202 into the RAM 203 andexecutes the developed program, by which each step in the flowchartperformed by the multifunction peripheral 110 is processed. The CPU 221included in the server 120 develops the program stored in the memorysuch as the ROM 222 into the RAM 223 and executes the developed program,by which each step in the flowchart performed by the server 120 isprocessed.

In step S1401, the server 120 detects a connection of the newmultifunction peripheral 110 to the server 120. Upon this detection, instep S1402, the server 120 notifies this newly connected client of theinformation indicating the setting item that the server 120 cansynchronize. How this notification is carried out is not especiallylimited. For example, the server 120 can transmit a file indicating alist of setting item(s) that the server 120 can handle as thesynchronization target(s) to the multifunction peripheral 110.

In step S1403, the multifunction peripheral 110 receives the informationindicating the setting item that the server 120 can synchronize from theserver 120. Next, in step S1404, the multifunction peripheral 110selects the setting item that the multifunction peripheral 110 handlesas the synchronization target among the setting item(s) that the server120 can synchronize, which is/are indicated in the received information.The multifunction peripheral 110 can select the setting item that themultifunction peripheral 110 handles as the synchronization target basedon, for example, the setting item managed by the multifunctionperipheral 110 itself or the configuration information indicating theapparatus configuration of the multifunction peripheral 110 itself.

Next, in step S1405, the multifunction peripheral 110 registers theselected synchronization target item within the multifunction peripheral110 itself. The synchronization target item registered in step S1405 isthe setting item to be handled as the target with respect to which,after that, when the setting value is updated in the multifunctionperipheral 110, the multifunction peripheral 110 notifies the server 120of the content of this update. The multifunction peripheral 110 notifiesthe server 120 of the update by referring to the registeredsynchronization target item.

Next, in step S1406, the multifunction peripheral 110 transmits thesetting value of the setting item selected in step S1404 to the server120.

In step S1407, when the server 120 receives the setting value from themultifunction peripheral 110, in step S1408, the server 120 registersthis setting value with the setting information DB 420. This processingalso allows the multifunction peripheral 110 to determine the settingitem to be handled as the synchronization target between the server 120and the multifunction peripheral 110.

Other Exemplary Embodiments

The first, second, third, and fourth exemplary embodiments have beendescribed. However, the above-described exemplary embodiments are mereexamples when the present invention is embodied. The respectiveprocessing procedures and operations of the exemplary embodiments may berealized if combined or may be realized selectively. The presentinvention is not limited to the configurations of the exemplaryembodiments.

Further, the client in the present invention does not have to be limitedto the configuration as the multifunction peripheral, and the presentinvention is applicable to, for example, an information device terminalthat is a device managing the setting information and that holds thesetting information varying depending on the information configuring thedevice. For example, the present invention is applicable to an imageforming apparatus including a personal computer, a mobile phoneterminal, a smartphone terminal, a single function printer (SFP)equipped with only the print function, and the like, and an informationprocessing apparatus configured as an electronic watch, an electronicorganizer, or the like.

OTHER EMBODIMENTS

Embodiment(s) of the present invention can also be realized by acomputer of a system or apparatus that reads out and executes computerexecutable instructions (e.g., one or more programs) recorded on astorage medium (which may also be referred to more fully as a‘non-transitory computer-readable storage medium’) to perform thefunctions of one or more of the above-described embodiment(s) and/orthat includes one or more circuits (e.g., application specificintegrated circuit (ASIC)) for performing the functions of one or moreof the above-described embodiment(s), and by a method performed by thecomputer of the system or apparatus by, for example, reading out andexecuting the computer executable instructions from the storage mediumto perform the functions of one or more of the above-describedembodiment(s) and/or controlling the one or more circuits to perform thefunctions of one or more of the above-described embodiment(s). Thecomputer may comprise one or more processors (e.g., central processingunit (CPU), micro processing unit (MPU)) and may include a network ofseparate computers or separate processors to read out and execute thecomputer executable instructions. The computer executable instructionsmay be provided to the computer, for example, from a network or thestorage medium. The storage medium may include, for example, one or moreof a hard disk, a random-access memory (RAM), a read only memory (ROM),a storage of distributed computing systems, an optical disk (such as acompact disc (CD), digital versatile disc (DVD), or Blu-ray Disc (BD)™,a flash memory device, a memory card, and the like.

While the present invention has been described with reference toexemplary embodiments, it is to be understood that the invention is notlimited to the disclosed exemplary embodiments. The scope of thefollowing claims is to be accorded the broadest interpretation so as toencompass all such modifications and equivalent structures andfunctions.

What is claimed is:
 1. An information processing apparatus configured tomanage setting information of an image forming apparatus, theinformation processing apparatus comprising: a memory device that storesa set of instructions; and at least one processor that executes theinstructions to: transmit, to the image forming apparatus, typeinformation indicating type of setting item which is to be received fromthe image forming apparatus by the information processing apparatus; andreceive, in a case where a setting item stored by the image formingapparatus is updated and a type of the setting item which is updated isthe type indicated by the type information, update information of thesetting item of the image forming apparatus, wherein the updateinformation of the setting item of the image forming apparatus is notreceived in a case where the setting item stored by the image formingapparatus is updated and a type of the setting item which is updated isnot the type indicated by the type information.
 2. The informationprocessing apparatus according to claim 1, wherein the at least oneprocessor executes instructions in the memory device to: receive thesetting item which is updated after the setting item had been previouslyshared between the image forming apparatus and the informationprocessing apparatus, from the image forming apparatus as the updateinformation.
 3. The information processing apparatus according to claim1, further comprising a storage unit configured to store the typeinformation used for determining whether a type of the setting item isto be or not to be shared by the information processing apparatus andthe image forming apparatus, wherein a change of a content of the typeinformation in the storage unit is permitted in a case where theinformation processing apparatus is not performing processing forsharing the setting information with the image forming apparatus.
 4. Animage forming apparatus comprising: a storage unit configured to storesetting information regarding a setting of the image forming apparatus;a memory device that stores a set of instructions; and at least oneprocessor that executes the instructions to: receive, from aninformation processing apparatus, type information indicating type ofsetting item which is to be transmitted from the image forming apparatusto the information processing apparatus; and transmit, in a case where asetting item stored by the storage unit is updated and a type of thesetting item which is updated is the type indicated by the typeinformation, update information of the setting item to the informationprocessing apparatus, wherein the update information of the setting itemis not transmitted in a case where the setting item stored by the imageforming apparatus is updated and the type of the setting item which isupdated is the type indicated by the type information.
 5. The imageforming apparatus according to claim 4, wherein the at least oneprocessor executes instructions in the memory device to: transmit asetting item which is updated after the setting item had been previouslyshared between the image forming apparatus and the informationprocessing apparatus, to the information processing apparatus as theupdate information.
 6. The image forming apparatus according to claim 4,wherein the storage unit stores the type information used fordetermining whether a type of the setting item is to be or not to beshared by the information processing apparatus and the image formingapparatus; and the at least one processor executes instructions in thememory device to perform control to delete the type information from thestorage unit in a case where sharing of the setting information by theinformation processing apparatus and the image forming apparatus isended.
 7. An information processing system comprising: an informationprocessing apparatus; and an image forming apparatus, the informationprocessing apparatus comprising: a first memory device that stores a setof instructions; and at least one processor that executes theinstructions in the first memory to: transmit, to the image formingapparatus, type information indicating type of setting item which is tobe received from the image forming apparatus by the informationprocessing apparatus; and the image forming apparatus comprising: asecond memory device that stores a set of instructions; and at least oneprocessor that executes the instructions in the second memory to:receive, from the information processing apparatus, the typeinformation; and transmit, in a case where a setting item stored by thestorage unit is updated and a type of the setting item which is updatedis the type indicated by the type information, update information of thesetting item to the information processing apparatus, wherein the updateinformation of the setting item is not transmitted in a case where thesetting item stored by the image forming apparatus is updated and thetype of the setting item which is updated is the type indicated by thetype information.
 8. A method for controlling an information processingapparatus managing setting information regarding a setting of an imageforming apparatus, the method comprising: transmitting, to the imageforming apparatus, type information indicating type of setting itemwhich is to be received from the image forming apparatus by theinformation processing apparatus; and receiving, in a case where asetting item stored by the image forming apparatus is updated and a typeof the setting item which is updated is the type indicated by the typeinformation, update information of the setting item of the image formingapparatus, wherein the update information of the setting item of theimage forming apparatus is not received in a case where the setting itemstored by the image forming apparatus is updated and a type of thesetting item which is updated is not the type indicated by the typeinformation.
 9. A method for controlling an image forming apparatusstoring setting information regarding a setting of the image formingapparatus in a storage unit, the method comprising: receiving, from aninformation processing apparatus, type information indicating type ofsetting item which is to be transmitted from the image forming apparatusto the information processing apparatus; and transmitting, in a casewhere a setting item stored by the storage unit is updated and a type ofthe setting item which is updated is the type indicated by the typeinformation, update information of the setting item to the informationprocessing apparatus, wherein the update information of the setting itemis not transmitted in a case where the setting item stored by the imageforming apparatus is updated and the type of the setting item which isupdated is the type indicated by the type information.
 10. Anon-transitory computer-readable storage medium storing a program forcausing a computer managing setting information regarding a setting ofan image forming apparatus to execute: transmitting, to the imageforming apparatus, type information indicating type of setting itemwhich is to be received from the image forming apparatus by theinformation processing apparatus; and receiving, in a case where asetting item stored by the image forming apparatus is updated and a typeof the setting item which is updated is the type indicated by the typeinformation, update information of the setting item of the image formingapparatus, wherein the update information of the setting item of theimage forming apparatus is not received in a case where the setting itemstored by the image forming apparatus is updated and a type of thesetting item which is updated is not the type indicated by the typeinformation.
 11. A non-transitory computer-readable storage mediumstoring a program for causing a computer storing setting informationregarding a setting of the computer in a storage unit to execute:receiving, from an information processing apparatus, type informationindicating type of setting item which is to be transmitted from theimage forming apparatus to the information processing apparatus; andtransmitting, in a case where a setting item stored by the storage unitis updated and a type of the setting item which is updated is the typeindicated by the type information, update information of the settingitem to the information processing apparatus, wherein the updateinformation of the setting item is not transmitted in a case where thesetting item stored by the image forming apparatus is updated and thetype of the setting item which is updated is the type indicated by thetype information.